package sk.drunkenpanda.leaflet.json.serializers; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import sk.drunkenpanda.leaflet.models.TileLayerOptions; import java.io.IOException; import java.util.Map; public final class TileLayOptionsSerializer extends JsonSerializer<TileLayerOptions> { @Override public void serialize(TileLayerOptions value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { gen.writeStartObject(); gen.writeObjectField("attribution", value.getAttribution()); gen.writeObjectField("bounds", value.getBounds()); gen.writeObjectField("errorTileUrl", value.getErrorTileUrl()); gen.writeObjectField("maxNativeZoom", value.getMaxNativeZoom()); gen.writeObjectField("maxZoom", value.getMaxZoom()); gen.writeObjectField("minZoom", value.getMinZoom()); gen.writeObjectField("opacity", value.getOpacity()); // gen.writeObjectField("subdomains", value.getSubdomains()); gen.writeObjectField("tileSize", value.getTileSize()); gen.writeObjectField("unloadInvisibleTiles", value.getUnloadInvisibleTiles()); gen.writeObjectField("updateWhenIdle", value.getUpdateWhenIdle()); gen.writeObjectField("zIndex", value.getZIndex()); gen.writeObjectField("zoomOffset", value.getZoomOffset()); for (Map.Entry<String, String> e : value.getExtraParameters().entrySet()) { gen.writeObjectField(e.getKey(), e.getValue()); } gen.writeEndObject(); } }